1. Technical Field
This invention generally relates to virtual machines in a computing environment, and more specifically relates to placement of virtual machines on physical hosts based on collocation rules with situational policies for hard and soft enforcement of the collocation rules.
2. Background Art
Cloud computing is a common expression for distributed computing over a network and can also be used with reference to network-based services such as Infrastructure as a Service (IaaS). IaaS is a cloud based service that provides physical processing resources to run virtual machines (VMs) as a guest for different customers. The virtual machine may host a user application or a server.
A computing environment, such as a cloud computing environment, may have a large number of physical machines that can each host one or more virtual machines. Prior art cloud management tools allow a system administrator to select collocation rules that determine the placement of virtual machines on a physical host in relation to other virtual machines. Collocation rules include affinity rules and anti-affinity rules. Affinity rules specify a relationship how a virtual machine is placed with related virtual machines in a group of virtual machines on a host or set of hosts. Similarly, anti-affinity rules specify how a virtual machine is not to be placed with other virtual machines on the same host or cluster of hosts. In some prior art systems the system administrator is also able to select how all the collocation rules are enforced. Strictly enforced rules are called hard rules, and rules that are not strictly enforced are called soft rules.